Authenticating a caller before providing the caller with access to one or more secured resources

ABSTRACT

In one embodiment, a system authenticates a caller before providing the caller with access to one or more secured resources. Identification and verification data is stored during system enrollment of known persons. A processing system, in a current call initiated by a caller and prior to identification of the caller, receives voice-based information for the caller including a digital representation of a telephone number spoken by the caller in the current call, the received information including voice-based identification information and voice-based verification information for the caller. The processing system automatically compares the received identification information and the received verification information for the caller with the stored identification and verification data for known persons, respectively, to uniquely identify and verify the identity of the caller as a particular known person. The processing system authenticates the caller for access to the one or more secured resources in response.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.10/352,848, filed Jan. 27, 2003, which is a continuation of U.S.application Ser. No. 09/799,977, filed Mar. 2, 2001 (now U.S. Pat. No.6,526,126 B1, issued Feb. 25, 2003), which is a continuation of U.S.application Ser. No. 08/982,190, filed Dec. 17, 1997 (now U.S. Pat. No.6,205,204 B1, issued Mar. 20, 2001), which is a continuation-in-part ofU.S. application Ser. No. 08/672,677, filed Jun. 28, 1996 (now U.S. Pat.No. 5,940,476, issued Aug. 17, 1999), a continuation-in-part of U.S.application Ser. No. 08/819,482, filed Mar. 17, 1997 (now U.S. Pat. No.5,901,203, issued May 4, 1999), and a continuation-in-part of U.S.application Ser. No. 08/918,937, filed Aug. 25, 1997 (now U.S. Pat. No.6,529,881 B2, issued Mar. 4, 2003).

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates in general to the field of telecommunications,and more particularly to authenticating a caller before providing thecaller with access to one or more secured resources.

2. Background Art

Many people, organizations, and commercial and other establishments mayidentify callers, customers, and other persons for security, billing,record keeping, or other purposes. For example, a customer servicerepresentative for a mail order sales organization might identify acaller to verify the caller's authority to receive informationconcerning an order placed with the organization. A called party in abusiness, organizational, home, or other setting might elect to accept acall, disconnect a call, or route a call to another person or processingdevice according to the identity of the caller. A clerk for a commercialor other establishment might identify a customer at the point of sale toallow an informed decision to be made regarding whether to providegoods, services, or other benefits to the customer.

As identification and identity verification procedures become moreadvanced to serve various needs, these people, organizations, andestablishments may identify callers, customers or other persons using avariety of techniques. A known technique for identifying a callerreceives a telephone number associated with an incoming call andcompares the number with previously stored information to identify thecaller associated with the incoming call. These techniques may beunsatisfactory if the caller is calling from a telephone, extension, orlocation having a telephone number that is different than the number forwhich there is previously stored information. Other techniques may evencompare a spoken word or phrase identifying the caller with a storedvoice print to verify an identification made as a result of personalinteraction with the caller or through digit or voice recognition of apersonal identification number (PIN), account number, or otheridentifier. These and other techniques requiring personal interactionwith callers to generate information for comparison with storedidentification information are often relatively inefficient and costly.

A known technique for identifying a customer includes receiving a PIN oraccount number to identify the customer, either verbally or using amagnetic card reader, and then comparing the number with previouslystored information to verify the availability to the customer of a good,service, or other benefit. Such techniques are wholly inadequate if thecustomer loses his card or has it stolen, cannot remember his number oridentifier, or is otherwise unable to provide the requisite information.Furthermore, such techniques are burdensome to both the customer and theestablishment in that the customer must remember the number oridentifier, or carry with him the appropriate card, and theestablishment must devote employee resources to the identityverification process.

Although possibly acceptable to verify the identity of an identifiedcaller, customer, or other person, the above techniques do not identifyan unidentified person out of a universe of known persons. These andother disadvantages make previous techniques for identifying personsinadequate for many applications.

SUMMARY OF THE INVENTION

The present invention addresses disadvantages and problems associatedwith previous systems and methods for identifying persons.

In one embodiment, a system is provided for authenticating a callerbefore providing the caller with access to one or more securedresources. Identification and verification data is stored during systemenrollment of a plurality of known persons. A processing system isoperable to, in a current call initiated by a currently unidentifiedcaller and prior to identification of the currently unidentified caller,receive voice-based information for the currently unidentified callerbased on one or more words spoken by the currently unidentified callerin the current call, the received voice-based information for thecurrently unidentified caller including a digital representation of atelephone number spoken by the currently unidentified caller in thecurrent call, the received voice-based information including voice-basedidentification information and voice-based verification information forthe currently unidentified caller. The processing system is operable toautomatically compare the received voice-based identificationinformation and the received voice-based verification information forthe caller, which was received in the current call prior toidentification of the currently unidentified caller, with the storedidentification and verification data for a plurality of known persons,respectively, which was stored during enrollment of these known persons,to uniquely identify and verify the identity of the caller as aparticular one of these known persons. The processing system is operableto authenticate the caller for access to the one or more securedresources in response to uniquely identifying and verifying the identityof the caller as the particular one of the known persons.

In another embodiment, a system is provided for uniquely andunambiguously identifying a currently unidentified caller. Voiceprintdata is stored for each of a plurality of known persons, and additionalidentifying data is stored for each of the plurality of known persons,the voiceprint data and additional identifying data for each knownperson having been stored independently of each other in one or moreprevious calls that were initiated by the known person. A processingsystem is operable to, in a current call initiated by a currentlyunidentified caller and prior to identification of the caller, receivevoiceprint data and additional identifying data for the caller, thevoiceprint data and additional identifying data for the caller beingindependent of each other. The processing system is operable toautomatically perform an initial comparison of the voiceprint data forthe still currently unidentified caller, which was received in thecurrent call prior to identification of the caller, with the storedvoiceprint data for at least one known person, which was stored in oneor more previous calls initiated by the known person, to positivelyidentify the caller as at least one of the known persons. If the calleris positively yet ambiguously identified as more than one of the knownpersons as a result of the initial comparison, the processing system isoperable to automatically perform an additional comparison of theadditional identifying data for the caller, which was received in thecurrent call prior to identification of the caller, with the storedadditional identifying data for at least one known person, which wasstored in one or more previous calls initiated by the known person, touniquely and unambiguously identify the caller as a particular one ofthe known persons. The additional identifying data for a known personincludes one of at least a portion of a telephone number, at least aportion of a network address, a store identifier, and historicalpurchasing information.

The present invention provides a system and method for identifying anunidentified person that does not merely verify the identity of theperson, but identifies the unidentified person from among a universe ofknown persons while resolving any ambiguities in that identification.Although the present invention identifies the unidentified personirrespective of the location, switching system, trunk line, or telephonenumber from which the person may be calling, the present invention usessuch information as one or more ambiguity-resolution criteria whenappropriate to resolve an ambiguous identification of the person as twoor more known persons. The present invention may therefore increase theefficiency and accuracy of the identification process. Otherambiguity-resolution criteria, for example, store identifiers,historical purchasing information, and other suitable criteria, may besimilarly employed.

In a commercial setting, the system and method of the present inventionidentifies an unidentified person at the point of sale, usingappropriate criteria to resolve ambiguous identifications, withoutrequiring the person to remember a PIN, account number, or otheridentifier, or to physically provide a card containing this informationin magnetic form. Furthermore, the present invention may beself-learning, such that the likelihood of identifying a particularunidentified person increases each time the person interacts with thesystem. Moreover, the present invention may automatically provide storedinformation concerning a known person in response to the systemidentifying the unidentified person as the known person, which furtherincreases the efficiency of the interaction with the person.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and forfurther features and advantages thereof, reference is now made to thefollowing description taken in conjunction with the accompanyingdrawings, in which:

FIG. 1 illustrates a system for identifying an unidentified caller;

FIG. 2 illustrates a system for identifying an unidentified caller in avoice messaging environment;

FIGS. 3 a through 3 c illustrate relationships between accountidentifiers for known callers and identity data, order data, andutterance data respectively, for the known callers;

FIGS. 4 a and 4 b are a flow chart illustrating a method of identifyingan unidentified caller;

FIGS. 5 a and 5 b are a flow chart illustrating a method for identifyingan unidentified caller in a voice messaging environment;

FIG. 6 illustrates a computer-based system for identifying anunidentified caller;

FIG. 7 a through 7 d illustrate exemplary option screens;

FIGS. 8 a and 8 b are a flow chart illustrating a method of identifyingan unidentified caller;

FIG. 9 illustrates a system for identifying an unidentified customer atthe point of sale; and

FIGS. 10 a and 10 b are a flow chart illustrating a method foridentifying an unidentified customer at the point of sale.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a system 8 for identifying an unidentified callerthat includes a processing system 10, a network (N/W) 12, one or moreagents 36, and a database 42. Processing system 10 is coupled to andinteracts with network 12. Network 12 may be a public switched telephonenetwork (PSTN) or any other suitable network to receive incoming callsfrom one or more unidentified callers 14 and transmit the incoming callsto a telephone switching system (SWITCH) 20 using link 22. Network 12may include one or more local, exchange area, and/or long-haul networksto communicate information in analog, digital, or any other suitableform using any appropriate transmission facility. Link 22 may includeone or more subscriber lines or other appropriate wireline or wirelesslinks for connecting unidentified callers 14 to switching system 20using network 12. Although unidentified callers 14 are discussed in theplural, the present invention contemplates a single or multipleunidentified callers 14.

Switching system 20 may be a private branch exchange (PBX) system; acentral exchange (centrex) system; an automatic call distribution (ACD)system; a key telephone system; a telephone that is directly,indirectly, locally, remotely, or otherwise connected to network 12; orany other appropriate telephone switching system. Switching system 20may include a speech generation capability (SG) 24, a voice messaging(VM) capability 25, an automated attendant (AA) capability 26, and anyother suitable voice processing or call processing capabilities 28, inany suitable combination, whether directly integrated into switchingsystem 20 or as adjunct processors operating on one or more computers orother processing devices at one or more locations and appropriatelycoupled to switching system 20. Switching system 20 also includesanalog-to-digital (A/D) conversion and recording (REC) facilities 13 and15, respectively, which may include suitable hardware and software todigitize and record utterances provided by unidentified callers 14. Inone embodiment, switching system 20 includes a suitable “caller ID,”automatic number identification (ANI), or other facility 17 thatidentifies telephone numbers, or portions thereof such as area codes oroffice codes, from which unidentified callers 14 are calling. While notshown, switching system 20 further includes one or more call processorsfor coordinating the operations of the various components of switchingsystem 20 and one or more suitable buses to allow the components tocommunicate information.

Switching system 20 is coupled to and interacts with system server 30using link 32. Link 32 may be any suitable connection through a localarea network (LAN), metropolitan area network (MAN), wide area network(WAN), a global computer network such as the Internet, or otherappropriate network; a standard data link and protocol connection usedto connect an external computer to a telephone switching system, such asa Telephony Services Application Programming Interface (TSAPI); aservice provider's proprietary interface; an integrated services digitalnetwork (ISDN) link; an internal bus; or any other appropriateconnection. The present invention contemplates system server 30 beingintegral to or separate from switching system 20.

System server 30 is a mainframe computer or other processing device thatmanages communications between switching system 20, agents 36, anddatabase server 34 using links 32, 31, and 33, as the case may be.System server 30 may also manage communications between processingsystem 10 and a network or other resource external to network 12, agents36, and processing system 10. System server 30 includes a memory 27 anda processor 29 that together operate to store, process, or manipulatedata. Memory 27 may be any suitable memory, such as dynamic or staticrandom access memory (RAM), read only memory (ROM), magnetic media,optical media, CD-ROM, or other suitable volatile or non-volatilestorage media. Memory 27 may store information in files, directories,tables, or in any other suitable arrangement. Memory 27 may containinstructions for processor 29 to execute in managing the operations ofsystem server 30. The present invention contemplates multiple systemservers 30 operating in parallel to increase the speed or otherwiseimprove the performance of processing system 10 in identifying one ormore unidentified callers 14.

Agents 36 may be autonomous or operated by one or more employees,representatives, operators, or other persons, possibly associated withan organization, that may interact in some manner with unidentifiedcallers 14. Link 31 may be a connection through a LAN, MAN, WAN, aglobal computer network such as the Internet, or any other suitablecommunications connection. Agents 36 may be any logical entities inhardware and/or software, such as minicomputers or personal computers,that send and receive information using link 31 and system server 30. Inone embodiment, a particular agent 36 interacts with unidentified caller14 once unidentified caller 14 has been identified using processingsystem 10. Although agents 36 are discussed, the present inventioncontemplates more or fewer agents 36 depending on the organization andthe incoming call traffic generated by unidentified callers 14.

Database server 34 is coupled to and interacts with database 42 and anassociated database management system (DBMS) 43. In one embodiment,database 42 is a relational database that stores information in tablescontaining rows and columns of data. The rows of a table representrecords, which are collections of information about separate items, andthe columns represent fields, which are particular attributes of therecords. In conducting searches, database 42 matches information from afield in a first table with information in the corresponding field of asecond table to produce a third table that combines requested data fromthe first and second tables. In general, database 42 uses matchingvalues in two tables to relate information in one table to informationin the other table. Database 42 may store and retrieve data in anysuitable manner, and may include one or more databases, files, or otherdata repositories at a single or multiple locations internal to orexternal to processing system 10. Database 42 may be more or lesspermanent or may be a temporary database, file, or other data repositorycreated by extracting information from more permanent databases, files,or other data repositories for use in identifying unidentified callers14.

Database 42 contains one or more records 44 that each represent theassociation of an account or other identifier corresponding to a callerwhose identity is known to the organization with account data, orderdata, identity data, utterance data, or other suitable informationconcerning the known caller. In one embodiment, the utterance data foreach known caller includes one or more utterance identifiers that aredigitized representations of one or more spoken utterances of theparticular known caller, which may include any suitable sound, word, orphrase. The utterances provided by the known callers are digitized andrecorded using the facilities 13 and 15, respectively, associated withswitching system 20. The present invention contemplates multipleutterance identifiers for each known caller, whether stored in a singleor multiple records 44 and in a single or multiple tables withindatabase 42. The association of account identifiers with identity data,order data, and utterance data for each known caller in records 44 isdiscussed more fully below in connection with FIGS. 3 a through 3 c.

Database server 34 may be a mainframe computer, a minicomputer,microprocessor having memory, or personal computer connected to a LAN,or any other processing device that manages communications betweensystem server 30 and database 42. Although database server 34 is shownas separate from system server 30, database server 34 may be integral toor separate from system server 30. Database server 34 supports a DBMS 43that permits centralized control of security and data integrityrequirements for database 42.

In general, DBMS 43 is a layer of software between database 42 anddatabase server 34 that manages access by processing system 10 to theresources of database 42. Where database 42 is a relational database,the DBMS 43 supported by database server 34 may be a relational DBMS(RDBMS). DBMS 43 and database 42 may execute queries, conduct searches,or perform other activities in response to direct or indirectcommunications from database server 34 in any suitable form. In oneembodiment, database server 34 may provide a key or other suitableidentifier to DBMS 43 for DBMS 43 to use in finding, identifying, orotherwise locating one or more records or groups of records withindatabase 42 according to one or more key tables, index files, or othersuitable arrangement.

Database server 34 includes a memory 35 and a processor 37 that togetheroperate to store, process, or manipulate data. Memory 35 may be anysuitable memory, such as dynamic or static random access memory (RAM),read only memory (ROM), magnetic media, optical media, CD-ROM, or othersuitable volatile or non-volatile storage media. Memory 35 may storeinformation in files, directories, tables, or in any other suitablearrangement. Memory 35 may contain instructions for processor 37 toexecute in managing the operations of database server 34 and the DBMS 43supported by database server 34.

Database server 34 accesses one or more match parameters 46 to determinewhether a digitized utterance for an unidentified caller 14 issufficiently correlated with an utterance identifier corresponding to aparticular known caller to identify the unidentified caller 14 as theknown caller. Match parameters 46 may include, without limitation: anerror or discrimination threshold suitable for comparison with an errorvalue derived, calculated, or otherwise determined according to thecomparison of the digitized utterance with the utterance identifier, forexample, in the manner disclosed in U.S. Pat. No. 4,053,710, which isincorporated by reference herein; a merit parameter for associating afigure of merit, determined according to some suitable scale and in somesuitable manner, with the identification of an unidentified caller 14 asa particular known caller; or any other information suitable fordetermining the sufficiency of the correlation, if any, betweenutterances for unidentified callers 14 and utterance identifiers forknown callers in database 42. Database server 34 may communicate one ormore match parameters 46 to DBMS 43 in association with a key or othersuitable identifier to facilitate the location and retrieval of one ormore utterance identifiers or other information from database 42.

Database server 34 communicates with database 42 using interface 41.Interface 41 may be any mechanism suitable to allow database server 34and database 42 to communicate with one another. For example, interface41 may include the appropriate hardware and software to communicateusing a direct connection to a PSTN, a direct connection using a bus orwireline link, a connection through a LAN, MAN, WAN, a global networksuch as the Internet, or other network, or any other communicationsconnection suitable to access one or more databases or files at one ormore locations. Interface 41 may include protocol conversion and somedata processing capabilities suitable to allow interface 41 tofacilitate data communications between database server 34 and database42.

Database server 34 and interface 41 may access one or more communicationparameters 48 to communicate with database 42. Communications parameters48 maintain access information for each database, file, directory, orother data repository associated with database 42 that may include,without limitation: a username; a password; a telephone number; anInternet protocol (IP) address; communication port settings; databasespecifications; library and file names; directory paths; library andfile paths; protocol information; and any other information suitable forcommunicating information to and receiving information from database 42.

Processing system 10 may operate on one or more computers 50 that areintegral to or separate from the hardware and software that supportnetwork 12, agents 36, system server 30, database server 34, anddatabase 42. Computer 50 may include an input device 52, such as akeypad, touch screen, microphone, or other device that can acceptsuitable information. An output device 54 may convey informationassociated with the operation of processing system 10, including digitalor analog data, visual information, or audio information. Both inputdevice 52 and output 54 may include fixed or removable storage media,such as magnetic computer disk, CD-ROM, or other suitable media to bothreceive output from and provide input to processing system 10. Computer50 may have a processor 56 and an associated volatile or non-volatilememory to execute instructions and manipulate information in accordancewith the operation of processing system 10.

In operation with respect to agents 36, an unidentified caller 14 placesa call to the organization using network 12 and link 22. Switchingsystem 20 receives the incoming call and prompts unidentified caller 14to provide an utterance, such as the spoken name of unidentified caller14, using the associated speech generation capability 24, by playing aprerecorded message, or in any other suitable manner. Before, during, orafter prompting unidentified caller 14 to provide an utterance,switching system 20 uses facility 17 to identify the telephone number,or portion thereof such as the area code or office code, from whichunidentified caller 14 is calling. When unidentified caller 14 respondsby providing an utterance, switching system 20 receives, digitizes, andrecords the utterance using facilities 13 and 15, respectively.Switching system 20 communicates the digitized utterance to systemserver 30 and queues the incoming call until an appropriate agent 36becomes available. When an appropriate agent 36 becomes available,switching system 20 transfers the call to the appropriate agent 36 andprovides the identity of the selected agent 36 to system server 30.

In parallel with the queuing and transfer of the incoming call, systemserver 30 communicates the digitized utterance to database server 34,which together with associated DBMS 43 searches records 44 contained indatabase 42 to compare the digitized utterance with the stored utteranceidentifiers corresponding to one or more known callers. If the digitizedutterance suitably duplicates, resembles, matches, or is otherwisecorrelated with a stored utterance identifier according to one or morematch parameters 46, unidentified caller 14 is identified as the knowncaller corresponding to the particular stored utterance identifier.Database server 34 retrieves account data, order data, identity data, orany other appropriate information for the known caller from database 42and communicates this information to the selected agent 36 using systemserver 30 and link 31.

One or more ambiguity-resolution criteria may be used to identifyunidentified caller 14. Ambiguity-resolution criteria may be stored asaccount data, order data, identity data, or in any other suitable mannerand may be compared with any of the following ambiguity-resolutioninformation to resolve ambiguous identifications, without limitation:the telephone number or any portion thereof identified using facility17; an IP address from which unidentified caller 14 is calling in overthe Internet or other computer network; a store location, store number,or other identifier determined using the number identified usingfacility 17, an IP address, or in any other suitable manner; and anyother appropriate ambiguity-resolution information. As discussed morefully below with reference to FIGS. 4 a and 4 b, processing system 10uses one or more appropriate ambiguity-resolution criteria andappropriate ambiguity-resolution information to resolve an ambiguousidentification of unidentified caller 14 as two or more known callers.

Processing system 10 may coordinate and synchronize the identificationof and transfer of the call to selected agent 36; the identification ofunidentified caller 14 as a particular known caller, whether or not anambiguity-resolution criterion is used; the retrieval of informationcorresponding to the known caller from database 42; and thecommunication, delivery, or presentation of the information to selectedagent 36 using any appropriate technique, whether or not switchingsystem 20 and system server 30 are integrated with one another. Afterthe selected agent 36 receives the retrieved information for theformerly unidentified caller 14, the selected agent may interact withthe caller to handle the incoming call in some suitable manner accordingto the needs of the caller or the organization. The present inventioncontemplates identifying one or more unidentified callers 14 usingsystem 8 in any suitable business, organizational, or other context orapplication.

FIG. 2 illustrates a system 9 for identifying an unidentified caller 14in a voice messaging environment that includes a processing system 11, anetwork 12, and a database 42. The components and operation of system 9that includes processing system 11 are similar to those discussed abovewith reference to FIG. 1 and system 8 that includes processing system10. System 9 may or may not include switching system 20, automatedattendant capability 26, system server 30, or agents 36. The presentinvention contemplates system 9 that includes processing system 11replacing or combining with system 8 that includes processing system 10in some manner. Similar to processing system 10 discussed above,processing system 11 may operate on one or more computers 50 that areintegral to or separate from the hardware and software that supportnetwork 12, database server 34, and database 42.

Voice messaging system 60 may be any voice mail or other system forreceiving, recording, and storing messages from one or more unidentifiedcallers 14 within or outside the organization. Voice messaging system 60may be the same as, may replace, or may combine with voice messagingcapability 25 of processing system 10 in some suitable manner. Voicemessaging system 60 may be integral to or separate from a telephoneswitching system, such as switching system 20 discussed above inconnection with FIG. 1, and may receive incoming calls directly orthrough such a telephone switching system. Voice messaging system 60 mayinclude analog-to-digital conversion facility 13, recording facility 15,“caller ID,” ANI, or other facility 17, a suitable speech recognitioncapability (SR) 23, speech generation capability 24, or any othersuitable voice processing or call processing capabilities 28, in anycombination, whether directly integrated into voice messaging system 60or as adjunct processors operating on one or more computers or otherprocessing devices at one or more locations and suitably coupled tovoice messaging system 60.

In operation, an unidentified caller 14 places a call to theorganization using network 12 and link 22. Voice messaging system 60receives the incoming call and, if voice messaging system 60 is notconnected to a telephone system in such a way as to determine theidentity of unidentified caller 14 according to the location, switchingsystem, trunk line, or telephone number associated with unidentifiedcaller 14, prompts unidentified caller 14 to provide an utterance in themanner discussed above in connection with FIG. 1. When unidentifiedcaller 14 responds by providing an utterance, voice messaging system 60receives, digitizes, and records the utterance using facilities 13 and15, respectively.

Voice messaging system 60 communicates the digitized utterance todatabase server 34, which together with associated DBMS 43 searchesrecords 44 contained in database 42 to compare the digitized utterancewith stored utterance identifiers corresponding to one or more knowncallers. If the digitized utterance suitably duplicates, resembles,matches, or is otherwise correlated with a particular utteranceidentifier according to one or more match parameters 46, unidentifiedcaller 14 is identified as the known caller corresponding to theparticular utterance identifier. As discussed more fully below withreference to FIGS. 5 a and 5 b, one or more ambiguity-resolutioncriteria may be used. Database server 34 retrieves appropriateinformation concerning the known caller from database 42, such as a nameor other identifier corresponding to the known caller, and communicatesthis information to voice messaging system 60. Voice messaging system 60prompts formerly unidentified caller 14 to provide a message, recordsthe resulting message, associates the identity of formerly unidentifiedcaller 14 with the message, and stores the associated identity andmessage corresponding to formerly unidentified caller 14 for subsequentcommunication to a user of voice messaging system 60.

When a user of voice messaging system 60 accesses voice messaging system60, using a telephone connection, an integrated computer system, or insome other suitable manner, voice messaging system 60 provides the userwith the identity of formerly unidentified caller 14 to indicate that amessage corresponding to formerly unidentified caller 14 has beenrecorded. Voice messaging system 60 may provide the identity of formerlyunidentified caller 14 to the user separately from or together with therecorded message. Where messages corresponding to multiple unidentifiedcallers 14 have been recorded, voice messaging system 60 may provide theuser with the identities of these formerly unidentified callers, in theform of a chronological list or otherwise, separately from or togetherwith the corresponding recorded messages.

FIGS. 3 a through 3 c illustrate several exemplary relationships betweenaccount identifiers corresponding to one or more known callers andidentity data, order data, and utterance data, respectively, for theknown callers. Although in one embodiment, the tables discussed belowmay be related to one another using these account identifiers, thepresent invention contemplates using any suitable field within a record44 to relate the record 44 to one or more other records 44 or tables ofrecords 44 within database 42, according to relational databasetechniques or in some other suitable manner. An account identifier for aknown caller may include, for example, an account number for an accountthe known caller has with the organization. The present inventioncontemplates a particular known caller having multiple accounts andtherefore multiple account identifiers and multiple records 44 in one ormore of the tables discussed below. As discussed above, processingsystem 10 may use some or all of the information contained in records 44as ambiguity-resolution criteria to resolve an ambiguous identificationof unidentified caller 14 as two or more known callers.

FIG. 3 a illustrates a table 100 that contains one or more records 44for each known caller. Each record 44 includes an account identifier 102that corresponds to a particular known caller and is associated withidentity data 104 for the known caller. For each known caller, identitydata 104 may include, without limitation: a last name, first name,middle name or initial, or other suitable identifier 106; a gender 108;a street or other address 110; a city, county, state, country, or otherlocation of residence 112; a phone number or any portion thereof such asan area code or office code, facsimile number, IP or other networkaddress, or another suitable communications identifier 114; anorganization or firm identifier 116; a department or strategic businessunit (SBU) identifier 118; a location, number, or other identifier 119associated with one or more commercial establishments, governmentoffices, or other premises at which the known caller has received goods,services, or other benefits; historical purchasing information 121; asecurity clearance 120; and any other suitable identity informationconcerning a known caller and suitable for associating with an accountidentifier 102 for the known caller. The present invention contemplatesmultiple tables 100 arranged in any suitable manner to contain one ormore account identifiers 102 in association with identity data 104 foreach known caller.

FIG. 3 b illustrates a table 130 that contains one or more records 44for each known caller that each include an account identifier 102 thatcorresponds to a particular known caller and associated order data 132for the known caller. Although order data 132 is discussed, the presentinvention contemplates one or more other tables containing records 44for any type of information concerning the known callers, for example,banking, purchase, account, or other data concerning relationships theknown callers have with the organization. Table 130 may contain multiplerecords 44 and order data 132 for any known caller, corresponding tomultiple orders for the known caller.

Within each record 44, order data 132 may include, without limitation: aunique order identifier 134 assigned to the order by the organization orotherwise; an order date 136; a part number 138 assigned to each ordereditem by the manufacturer or otherwise; a manufacturer identifier 140 foreach ordered item; a serial number 142 for each ordered item; anindividual, aggregate, or other purchase amount 144 for the ordereditems; an order status 146; and any other information suitable foridentifying, tracking, maintaining billing and inventory records for, orrelating in any other suitable manner to the order that corresponds tothe particular record 44.

FIG. 3 c illustrates a table 160 that contains one or more records 44for each known caller that each include an account identifier 102 thatcorresponds to the particular known caller and associated utterance data162 for the known caller. For each record 44, utterance data 162 mayinclude, without limitation: an utterance identifier 164 that includesany suitable digital or other representation of a verbal utteranceprovided by the particular known caller associated with the record 44;parametric encoding data 165 corresponding to the utterance or one ormore characteristics of the known caller; an utterance length 166 thatis measured, assessed, calculated, or otherwise determined in anysuitable manner according to any suitable scale; an average or otherutterance pitch 168 that is measured, assessed, calculated, or otherwisedetermined in any suitable manner according to any suitable scale; thename 106 for the known caller; the gender 108 for the known caller,which may be associated in some manner with the utterance pitch 168; andany other information concerning an utterance of a known caller that issuitable for comparison in some manner with corresponding informationgenerated for an utterance provided by an unidentified caller 14.

Table 160 may contain one or more records 44 for each account identifier102, each record 44 containing utterance data 162 that corresponds to aseparately digitized and recorded utterance of the known callerassociated with the account identifier 102. Furthermore, database 42 maycontain multiple tables 160, each table corresponding to a specifiedrange, minimum, maximum, or other value for one or more fields withinutterance data 162, such as utterance length 166, utterance pitch 168,gender 108, or other suitable field. For example, a first table 160might contain records 44 having utterance lengths 166 within a firstrange of values, a second table 160 might contain records 44 havingutterance lengths 166 within a second range of values, and a third table160 might contain records 44 having utterance lengths 166 within a thirdrange of values. In identifying an unidentified caller 14, processingsystem 10 may determine the length of the digitized utterance forunidentified caller 14 and compare the digitized utterance to one ormore utterance identifiers 164 contained in the particular table 160that corresponds to the length of the digitized utterance. Database 42may contain as many tables 160 and types of tables 160 as are necessaryor desirable.

Parametric encoding data 165 may be stored separately from or togetherwith a corresponding utterance identifier 164. In one embodiment,parametric encoding data 165 might represent one or more fields ofidentity data 104, order data 132, utterance data 162, or any otherinformation concerning the particular known caller that is suitable forassociation with utterance identifier 164 to identify an unidentifiedcaller 14. For example, parametric encoding data 165 might take the formof one or more moment invariants as disclosed in U.S. Pat. No. 4,053,710to represent the utterance for the known caller more concisely than theutterance is represented by the corresponding utterance identifier 164.A moment invariant is defined in U.S. Pat. No. 4,053,710, for a twodimensional waveform or wave pattern, as a measurement derived from themoment of the waveform, the moment being independent of the waveformposition and the waveform size along the two dimensions. The momentinvariants may be calculated by switching system 20 or an associatedprocessing capability and then stored instead of, or in addition to,utterance identifier 164, which may digitally represent the utterance inits entirety.

FIGS. 4 a and 4 b represent a flow chart of a method of identifying anunidentified caller 14. The method begins at step 200, where anunidentified caller 14 places a call to the organization using network12 and link 22. Although system 8 may receive and process incoming callsfrom multiple unidentified callers 14 serially, more or lesssimultaneously, or in any other temporal relationship, the method isdiscussed herein with reference to a single unidentified caller 14. Atstep 202, switching system 20 receives the incoming call fromunidentified caller 14 and, at step 204, generates a greeting forcommunication to unidentified caller 14. Switching system 20 maygenerate the greeting using speech generation capability 24, may play aprerecorded message to generate the greeting, or may generate thegreeting in any other suitable manner.

Before, during, or after generating the greeting at step 204, switchingsystem 20 uses facility 17 at step 205 to identify the telephone number,or a portion thereof such as the three digit area code or three digitoffice code, from which unidentified caller 14 is calling. For example,if unidentified caller 14 is calling from the telephone number “(214)555-1212,” facility 17 may identify the entire number, the area code“214,” or the office code “555,” in any combination. Although threedigit area codes and three digit office codes are discussed, facility 17may identify any number of digits associated with the telephone numberfrom which unidentified caller 14 is calling, in any suitable order andin any suitable combination. Switching system 20 may identify an IP orother network address of unidentified caller 14 at step 205 ifunidentified caller 14 is calling over the Internet or other computernetwork. Other suitable techniques for associating an identifier withthe telephone number, network address, or location from whichunidentified caller 14 is calling may be used without departing from theintended scope of the present invention. One or more of theseidentifiers, singly or in any suitable combination, may be appropriateambiguity-resolution information for use in resolving an ambiguousidentification of unidentified caller 14 as two or more known callers.

In one embodiment, the greeting generated at step 204 promptsunidentified caller 14 to select a destination for the call at step 206.For example, and not by way of limitation, switching system 20 andassociated automated attendant capability 26 may prompt unidentifiedcaller 14 to select a call destination by playing a prerecorded messagesimilar to the following: “Press or say ‘1’ to be connected to ourservice department, press or say ‘2’ to be connected to our orderprocessing department, or stay on the line to speak with one of ourcustomer service representatives.” One or more agents 36 may each beassociated with a particular call destination. As discussed below,switching system 20 may transfer the unidentified caller 14 to aparticular agent 36 associated with the selected call destination at anyappropriate time during the operation of system 8.

Either before or after unidentified caller 14 selects a call destinationat step 208, switching system 20 prompts unidentified caller 14 at step210 to provide an utterance, for example, any sound, word, or phrase,such as the name or account number of unidentified caller 14, that issuitable for comparison with one or more stored utterance identifiers164 corresponding to one or more known callers. Switching system 20 mayprompt unidentified caller 14 to provide an utterance using speechgeneration capability 24, by playing a prerecorded message tounidentified caller 14, such as “Whom may we say is calling?,” or in anyother suitable manner. At step 212, unidentified caller 14 responds byproviding the requested utterance. If the utterance provided byunidentified caller 14 is inaudible, improper, or unsatisfactory at step214, according to one or more specified parameters, the method returnsto step 210, where unidentified caller 14 is again prompted to providean utterance. If the utterance is satisfactory at step 214, switchingsystem 20 digitizes the utterance at step 216 using analog-to-digitalconversion facility 13 and records the digitized utterance at step 218using recording facility 15.

At step 220, switching system 20 communicates the digitized utterance tosystem server 30 using link 32. At step 222, switching system 20 queuesthe incoming call pending the availability of an appropriate agent 36 tohandle the incoming call, for example, a particular agent 36 associatedwith the call destination selected at step 208. Switching system 20 mayperform steps 220 and 222 more or less in parallel, such that the branchof the method beginning at step 220 proceeds more or less in parallelwith the branch of the method beginning at step 222. Referring to thebranch beginning at step 220, system server 30 receives the digitizedutterance corresponding to unidentified caller 14 at step 224 and, atstep 226, communicates the digitized utterance to database server 34 forcomparison with utterance identifiers 164 contained in database 42,tables 160, and records 44. As discussed above, database server 34 maybe integral to or separate from system server 30.

At step 228, database server 34 accesses database 42 using interface 41and communication parameters 48. At step 230, database server 34 andDBMS 43 search database 42 for one or more utterance identifiers 164that duplicate, resemble, match, correlate with, or otherwise comparefavorably to the digitized utterance corresponding to unidentifiedcaller 14, according to one or more match parameters 46. Alternatively,database server 34 may communicate one or more match parameters 46 toDBMS 43 in association with the key or other suitable identifier toallow DBMS 43 and database 42 to locate or otherwise identify one ormore utterance identifiers 164 that duplicate, resemble, match,correlate with, or otherwise compare favorably to the digitizedutterance corresponding to unidentified caller 14.

In one embodiment, parametric encoding data 165 may be searched insteadof, or in addition to, utterance identifiers 164 to identifyunidentified caller 14. The use of parametric encoding techniques inconnection with the search may speed the searching process, because thestorage size for parametric encoding data 165 may be smaller than thestorage size for corresponding utterance identifier 164. Furthermore,parametric encoding data 165 may be invariant with respect to factorsused to identify unidentified caller 14. As a result, database server 34and associated DBMS 43 may handle less data in searching database 42 toidentify the unidentified caller 14 as a particular known callerrepresented in database 42.

One or more tables 160 may be searched serially, more or lesssimultaneously, or in any other suitable manner. One or more tables 160may be selectively searched according to one or more characteristics ofunidentified caller 14 or the utterance provided by unidentified caller14, such as the gender of unidentified caller 14, the length of theutterance or corresponding digital representation, the average pitch ofthe utterance or corresponding digital representation, or other suitablecharacteristic. The present invention contemplates any suitabletechnique for comparing a digitized, parametric, or other representationof an utterance for unidentified caller 14 with utterance identifiers164 or parametric encoding data 165, in any combination, for one or moreknown callers to identify unidentified caller 14 as a particular knowncaller.

The correlation between an utterance identifier 164 or parametricencoding data 165 and the digitized, parametric, or other representationof the utterance for unidentified caller 14 may be measured, assessed,calculated, or otherwise determined in any suitable manner. For example,parametric encoding techniques may allow database server 34 or anothercomponent of processing system 10 to generate one or more discriminationthresholds that may be used to determine whether the digitized utterancematches an utterance identifier 164 closely enough for unidentifiedcaller 14 to be identified as the particular known caller correspondingto the utterance identifier 164. Parametric encoding techniques mayallow database server 34 or another component of processing system 10 tocalculate, arrive at, or otherwise determine a figure of merit, usingone or more merit parameters contained in match parameters 46, adiscrimination threshold, or other suitable factor, to indicate thecertainty of an identification.

If a match is found for the digitized utterance corresponding tounidentified caller 14 at step 231, database server 34 may measure,assess, calculate, or otherwise determine a figure of merit for thematch at step 232. If the identification of unidentified caller 14 isambiguous at step 233, in that the digitized utterance for unidentifiedcaller 14 matches utterance data 162 for two or more known callers atstep 231, database server 34 searches records 44 for these known callersat step 234 for information that matches, correlates with, or isotherwise consistent with the identifier determined at step 205,according to appropriate parameters. Database server 34 may searchrecords 44 for these known callers serially, simultaneously, or inanother manner. Unidentified caller 14 is identified at step 235 as theknown caller for which records 44 contain information most consistentwith the identifier determined at step 205 or most consistent withinformation determined using the identifier, resolving the ambiguity.

For example, if unidentified caller 14 is calling from the telephonenumber “(214) 555-1212” and facility 17 identifies the area code “214”and the office code “555” as ambiguity-resolution information at step205, database server 34 searches records 44 corresponding to the two ormore known callers at step 234 for one or more ambiguity-resolutioncriteria consistent with this information. In one embodiment, consistentambiguity-resolution criteria may be contained in table 100 asidentical, geographically associated, or other consistent area code andoffice code communications identifiers 114 for a particular knowncaller. In this case, the known caller for which the area code, officecode, or both area code and office code communications identifiers 114are consistent with the selected ambiguity-resolution information is theknown caller with which formerly unidentified caller 14 is identified atstep 235.

To increase speed and conserve processing capability, processing system10 may use as few ambiguity-resolution criteria as necessary to identifyunidentified caller 14 as a particular known caller. For example, ifrecords 44 in table 100 for two or more known callers contained identitydata 104 consistent with the area code ambiguity-resolution information“214,” then office code ambiguity-resolution criterion “555” would beused to resolve the ambiguity if possible. Similarly, if records 44 intable 100 for two or more known callers contained identity data 104consistent with office code ambiguity-resolution information “555,” anIP address ambiguity-resolution criterion might be used to resolve theambiguity if possible. The present invention contemplates using as manyambiguity-resolution criteria, serially or in any other suitable manner,as necessary to adequately identify unidentified caller 14 as aparticular known caller. In one embodiment, as discussed below, ifsuitable information concerning an ambiguous identification is providedto agent 36, agent 36 may participate in the ambiguity-resolutionprocess.

At step 236, database server 34 and associated DBMS 43 retrieveinformation from database 42 corresponding to the known caller withwhich formerly unidentified caller 14 has been identified. The retrievedinformation may include some or all of the identity data 104, order data132, or utterance data 162 for the known caller, banking, purchase,account or other data for the known caller, or any other informationassociated with the known caller and contained in database 42. Databaseserver 34 communicates the retrieved information to system server 30 atstep 238. At step 240, system server 30 communicates some or all of theretrieved information to an appropriate agent 36 in coordination withinformation received from switching system 20, as discussed below inconnection with the branch of the method beginning at step 222.

At step 222, switching system 20 queues the incoming call fromunidentified caller 14 pending the availability of an appropriate agent36 to handle the incoming call. If an appropriate agent 36 is notavailable at step 242, the method loops until an appropriate agentbecomes available. If an appropriate agent 36 is available at step 242,for example, a selected agent 36 associated with the call destinationprovided by unidentified caller 14 at step 208, then switching system 20transfers the incoming call to selected agent 36 at step 244. At step246, switching system 20 communicates the identity, location, networkaddress, or other suitable routing or communication informationconcerning selected agent 36 to system server 30. System server 30 thencommunicates the retrieved information to selected agent 36 in somesuitable manner at step 240. In one embodiment, if unidentified caller14 has been ambiguously identified as two or more known callers, agent36 may be provided with this information to allow agent 36 to assist inthe ambiguity-resolution process, for example, by selecting a particularknown caller based on one or more suitable parameters known or madeavailable to agent 36.

Coordinating and synchronizing the identification of selected agent 36using switching system 20, the identification of unidentified caller 14as a particular known caller, the retrieval of information correspondingto the known caller from database 42, and the communication, delivery,or presentation of the information to selected agent 36 may beaccomplished using any suitable technique. Such techniques may include,for example, and not by way of limitation: the technique disclosed inU.S. Pat. No. 5,309,504, which is incorporated by reference herein; oneor more techniques according to a TSAPI specification; one or moretechniques according to a telecommunications system provider'sproprietary interface; or any other suitable “screen popping” or othertechnique. In one embodiment, switching system 20 and system server 30are integrated to more easily coordinate and” synchronize theidentification of selected agent 36, the identification of unidentifiedcaller 14 as a particular known caller, and the communication ofretrieved information concerning the known caller to the selected agent36.

As discussed above, database server 34 or another component ofprocessing system 10 may calculate or otherwise determine a figure ofmerit to indicate the extent of the correlation or the certainty of thematch between the digitized utterance for formerly unidentified caller14 and the utterance identifier 164 for the particular known caller withwhich formerly unidentified caller 14 has been identified. In oneembodiment, the figure of merit is communicated to selected agent 36along with the retrieved information for the particular known caller. Ifeither a figure of merit has not been provided at step 248, or has beenprovided at step 248 and is deemed acceptable by selected agent 36 atstep 250, in accordance with one or more specified parameters, themethod proceeds directly to step 254, where selected agent 36 interactswith formerly unidentified caller 14 in some suitable manner accordingto the needs of the caller or the organization. If a figure of merit hasbeen provided at step 248, but is not deemed acceptable by selectedagent 36 at step 250, selected agent 36 may interactively verify theidentity of formerly unidentified caller 14 according to conventionaltechniques at step 252. After selected agent 36 handles the call in somesuitable manner at step 254, the method ends.

If processing system 10 is unable to match or suitably correlate thedigitized utterance for unidentified caller 14 with an utteranceidentifier 164 corresponding to a known caller at step 231, or is unableto suitably resolve an ambiguous identification of unidentified caller14 as two or more known callers at step 235, the agent 36 selected byswitching system 20 may interactively verify the identity ofunidentified caller 14 using conventional techniques at step 256. In oneembodiment, the present invention is self-learning, such that if nomatch has been made at step 231 and unidentified caller 14 is identifiedinteractively at step 256, system 8 may receive and store informationfor formerly unidentified caller 14 for use in identifying subsequentunidentified callers 14. For example, database 42 may not containutterance data 162 to identify unidentified caller 14 when unidentifiedcaller 14 calls the organization, because unidentified caller 14 mayhave had no previous interaction with the organization. Furthermore,database 42 may not yet contain utterance data 162 for any knowncallers, due to the length of time system 8 has been operating or forany other reason.

At step 258, processing system 10 may create a record 44 for formerlyunidentified caller 14 containing an utterance identifier 164 and otherutterance data 162 generated using the utterance provided at step 212.At step 260, the created record 44 for formerly unidentified caller 14may be stored in one or more tables 160 within database 42. The createdrecord 44 for formerly unidentified caller 14 may be associated withidentity data 104, order data 132, or utterance data 162, banking,purchase, or account data, or other information concerning formerlyunidentified caller 14, whether the information is generated before,during, or after the record 44 is created. In one embodiment, thecreated record 44 will correspond to a known caller for purposes ofidentifying subsequent unidentified callers 14 from among a universe ofknown callers. Before, during, or after storing the created record 44 atstep 260, selected agent 36 handles the call in some suitable manner atstep 254 and the method ends.

FIGS. 5 a and 5 b represent a flow chart of a method of identifying anunidentified caller 14 in a voice messaging environment. The methodbegins at step 300, where an unidentified caller 14 places a call to theorganization using network 12 and link 22. Although the presentinvention contemplates system 9 receiving and processing incoming callsfrom multiple unidentified callers 14 serially, more or lesssimultaneously, or in any other temporal relationship, the method isdiscussed herein with reference to a single unidentified caller 14.Voice messaging system 60 receives the incoming call from unidentifiedcaller 14 at step 302 and, at step 304, determines whether unidentifiedcaller 14 can be identified using one or more conventional techniques.For example, if the incoming call originates from an extension,location, site, account, mail station, or other entity that is integralto voice messaging system 60, such as a computer terminal coupled to anorganization PBX, then voice messaging system 60 may identifyunidentified caller 14 using information provided by unidentified caller14 during the sign on process.

If voice messaging system 60 identifies unidentified caller 14 at step304, based on the origin of the incoming call or otherwise, then themethod proceeds to step 330, where voice messaging system 60 promptsunidentified caller 14 to provide a message for subsequent communicationto a user of voice messaging system 60. If voice messaging system 60does not identify unidentified caller 14 at step 304, for whateverreason, then voice messaging system 60 generates a greeting forcommunication to unidentified caller 14 at step 306 in the mannerdiscussed above in connection with FIGS. 4 a and 4 b. Before, during, orafter generating the greeting at step 306, voice messaging system 60 mayuse facility 17 to determine a suitable identifier at step 307 for usein resolving an ambiguous identification of unidentified caller 14 astwo or more known callers in the manner discussed above with referenceto FIGS. 4 a and 4 b. In one embodiment, the greeting generated at step306 prompts unidentified caller 14 at step 308 to provide an utterance,for example, any sound, word, or phrase, such as a name or otheridentifier corresponding to unidentified caller 14, that is suitable forcomparison with one or more utterance identifiers 164 corresponding toone or more known callers and stored using database 42 and tables 160.

At step 310, unidentified caller 14 responds by providing the requestedutterance. If the utterance is inaudible, improper, or otherwiseunsatisfactory at step 312, according to one or more specifiedparameters, the method returns to step 308, where unidentified caller 14is again prompted to provide an utterance. If the provided utterance issatisfactory at step 312, voice messaging system 60 digitizes theutterance at step 314 using analog-to-digital conversion facility 13 andrecords the utterance at step 316 using recording facility 15. Voicemessaging system 60 communicates the digitized utterance to databaseserver 34 at step 318 using link 32.

At step 320, database server 34 accesses database 42 using interface 41and communication parameters 48. At step 322, database server 34 andassociated DBMS 43 search database 42 for one or more utteranceidentifiers 164 that duplicate, resemble, match, correlate with, orotherwise compare favorably to the digitized utterance corresponding tounidentified caller 14, according to one or more match parameters 46. Asdiscussed above with reference to FIGS. 4 a and 4 b, parametric encodingdata 165 may be searched instead of, or in addition to, utteranceidentifiers 164 to identify unidentified caller 14 from among a universeof known callers. If the digitized utterance corresponding tounidentified caller 14 matches an utterance identifier 164 at step 324,database server 34 may measure, assess, calculate, or otherwisedetermine a figure of merit for the identification of formerlyunidentified caller 14 at step 326 in the manner discussed above. Voicemessaging system 60 may use any appropriate ambiguity-resolutioncriteria in identifying unidentified caller 14 as a particular knowncaller, as discussed more fully above with reference to FIGS. 4 a and 4b.

At step 327, database server 34 and associated DBMS 43 retrieveinformation from database 42 corresponding to the known caller withwhich formerly unidentified caller 14 has been identified. The retrievedinformation may include some or all of the identity data 104 for theknown caller, such as a name or other identifier 106 for the knowncaller, or any other information associated with the particular knowncaller and contained in database 42. Database server 34 communicates theretrieved information to voice messaging system 60 at step 328. In oneembodiment, the figure of merit determined at step 326 is communicatedto voice messaging system 60 together with or separately from theretrieved information.

At step 330, voice messaging system 60 prompts formerly unidentifiedcaller 14 to provide a message for subsequent communication to a user ofvoice messaging system 60. Voice messaging system 60 records anyresulting message at step 332, associates the identity of formerlyunidentified caller 14 with the recorded message at step 334, and storesthe associated identity and recorded message corresponding to formerlyunidentified caller 14 at step 336. Voice messaging system 60 may promptthe caller to provide and may record a message before, during, or afterthe caller provides an utterance for identification purposes. When auser of voice messaging system 60 accesses voice messaging system 60 atstep 358, using a telephone connection, an integrated computer system,or in some other suitable manner, voice messaging system 60 maycommunicate the identity of formerly unidentified caller 14 to the userto indicate that formerly unidentified caller 14 recorded a messageusing voice messaging system 60.

The present invention contemplates associating the identity of formerlyunidentified caller 14 with the recorded message corresponding toformerly unidentified caller 14 before, during, or after the useraccesses voice messaging system 60. Voice messaging system 60 mayprovide the identity of formerly unidentified caller 14 separately fromor together with the recorded message corresponding to formerlyunidentified caller 14. If multiple unidentified callers 14 haveinteracted with voice messaging system 60 to provide messages for auser, voice messaging system 60 may provide the user with the identitiesof the formerly unidentified callers 14 at step 360, in a chronologicallist or other suitable format, separately from or together with therecorded messages corresponding to the formerly unidentified callers 14.

Voice messaging system 60 may provide the identities and any otherinformation retrieved from database 42 for one or more formerlyunidentified callers 14 to the user in any appropriate manner. Forexample, if voice messaging system 60 is integral to, associated with,or suitably connected to a computer or other processing device such ascomputer 50, then voice messaging system 60 may provide some or all ofthe retrieved information using output device 54 or another devicesuitable for conveying visual information. Alternatively, if voicemessaging system 60 is accessed using a telephone only connection, forexample, by the user entering a voice mail box number, PBX extension, orother identifier, voice messaging system 60 may audibly convey theretrieved information, in whole or in part. The present inventioncontemplates any suitable combination of such techniques to provide theidentities of one or more formerly unidentified callers 14 for whichmessages have been recorded to a user of voice messaging system 60.

Voice messaging system 60 may provide the identities of one or moreformerly unidentified callers 14, in a chronological list format orotherwise, together with other retrieved or other information concerningformerly unidentified callers 14, the recorded messages corresponding toformerly unidentified callers 14, or any combination of the above. Forexample, for a recorded message corresponding to formerly unidentifiedcaller 14, voice messaging system 60 might provide, in any suitablerelative arrangement, without limitation: the identity of formerlyunidentified caller 14; the figure of merit associated with theidentification of formerly unidentified caller 14; the total number ofrecorded messages corresponding to formerly unidentified caller 14; thelength of the message; the time, day, and/or date the message wasrecorded; and any other suitable information concerning formerlyunidentified caller 14 or the particular recorded message. Once the useraccesses voice messaging system 60 and receives the identities offormerly unidentified callers 14 and any other appropriate informationat step 360, the method ends.

In one embodiment, system 9 is self-learning, such that if no match ismade at step 324 between the utterance provided by unidentified caller14 and an utterance identifier 164 corresponding to a known caller,system 9 creates a record 44 for the unidentified caller 14 that may beused to identify a subsequent unidentified caller 14 as the unidentifiedcaller 14 corresponding to the created record 44. For example, database42 may not contain utterance data 162 suitable to identify unidentifiedcaller 14, because unidentified caller 14 may have had no previousinteraction with the organization or voice messaging system 60.Moreover, database 42 may not yet contain utterance data 162 for anyknown callers, due to the length of time system 9 has been operating orfor some other reason. If the identity of unidentified caller 14 isverified in some suitable manner after the created record 44 isgenerated, the created record 44 for unidentified caller 14 may be usedas a record 44 that corresponds to a known caller to identify one ormore subsequent unidentified callers 14 in the manner discussed above.

If voice messaging system 60 cannot or does not match or suitablycorrelate the digitized utterance for unidentified caller 14 with anutterance identifier 164 corresponding to a known caller at step 324,for whatever reason, voice messaging system 60 may prompt unidentifiedcaller 14 to provide an utterance at step 338 in the manner discussedabove with reference to step 308. The present invention contemplatesvoice messaging system 60 using the utterance provided at step 308instead of, or in addition to, prompting unidentified caller 14 for anutterance at step 338. Unidentified caller 14 provides the requestedutterance at step 340 and, if the utterance is satisfactory at step 342,voice messaging system 60 digitizes and records the utterance at steps344 and 346, respectively. In one embodiment, voice messaging system 60may also translate the utterance into a format understandable to system9 using the associated speech recognition capability 23. If the providedutterance is not satisfactory at step 342, the method returns to step338, where unidentified caller 14 is again prompted to provide anutterance.

Before or after unidentified caller 14 is prompted to provide anutterance at step 338, voice messaging system 60 prompts unidentifiedcaller 14 to provide a message at step 348 for subsequent communicationto a user of voice messaging system 60. Voice messaging system 60records any resulting message at step 350 and associates the utterance,the translated utterance, or both the utterance and translated utterancefor unidentified caller 14 with the recorded message at step 352. Inconjunction with database server 42 and associated DBMS 43, voicemessaging system 60 creates a record 44 for unidentified caller 14 atstep 354 and, at step 356, stores the created record 44 in one or moretables 160 within database 42. In one embodiment, the created record 44for unidentified caller 14 contains an utterance identifier 164 thatdigitally represents the utterance provided by unidentified caller 14.One or more created records 44 may also contain other utterance data 162corresponding to the utterance and any other suitable information,whether or not associated with utterance identifier 164.

In one embodiment, the recorded utterance or the translation of theutterance for unidentified caller 14 is used to indicate to a user ofvoice messaging system 60 that a message corresponding to unidentifiedcaller 14 has been recorded. The created record 44 for unidentifiedcaller 14 is used to identify a subsequent unidentified caller 14 as theparticular unidentified caller 14 for which the created record 44 wasgenerated.

When a user of voice messaging system 60 accesses voice messaging system60 at step 358, voice messaging system 60 may communicate the utterance,the translated utterance, and any other suitable information concerningunidentified caller 14 to the user at step 360 using any of thetechniques discussed above. For example, if voice messaging system 60 isintegral to, associated with, or suitably connected to a computer orother processing device such as computer 50, then voice messaging system60 may provide a translation of the utterance, generated using speechrecognition capability 23, to the user using output device 54 or anotherdevice suitable for conveying visual information. Alternatively, ifvoice messaging system 60 is accessed using a telephone only connection,for example, by the user entering a voice mail box number, PBXextension, or other identifier, voice messaging system 60 may audiblyconvey the utterance to the user.

Voice messaging system 60 may provide utterances or translatedutterances for one or more unidentified callers 14, in a chronologicallist format or otherwise, together with or separately from: any othersuitable information concerning unidentified callers 14; the recordedmessages corresponding to unidentified callers 14; the identities offormerly unidentified callers 14; any other information concerningformerly unidentified callers 14; the recorded messages corresponding toformerly unidentified callers 14; or any combination of the above. Aftersystem 9 has provided this information to the user at step 360, themethod ends.

FIG. 6 illustrates an exemplary computer-based system 70 for identifyingan unidentified caller 14 that includes network 12, switching system 20,and processing system 72. Processing system 72 may include, withoutlimitation: a control module (CONTROL) 74, a match module (MATCH) 76, avoice board 78, recording facility 15, facility 17, speech generationcapability 24, voice messaging capability 25, automated attendantcapability 26, match parameters 46, communications parameters 48,database 42, and any other suitable components. In one embodiment,processing system 72 operates on a called party's personal or othercomputer 50 in a home setting, business or other organizational setting,or any other suitable environment to provide some or all of thefunctionality discussed above with reference to FIG. 1. The presentinvention contemplates: some or all of switching system 20 beingintegral to computer 50; processing system 72 distributed to operate onmultiple computers 50 or telephone units at one or more locations;components of processing system 72, such as database 42, being integralto or separate from processing system 72; or processing system 72,computer 50, switching system 20, or any combination of the above beingintegral to a called party's telephone unit. Those skilled in the artwill appreciate that other suitable arrangements may be devised withoutdeparting from the intended scope of the present invention.

Voice board 78 includes appropriate circuitry for detecting ringingsignals or other call origination signals and for performinganalog-to-digital or digital-to-analog conversion, as the case may be.Voice board 78 is of a type well known in the art and may be in the formof a computer-oriented modem, in the form of a specialized voice boardof the type manufactured by DIALOGIC CORPORATION or RHETORIX CORPORATIONand used for computer telephony integration (CTI), or in any othersuitable form. Voice board 78 may replace or combine withanalog-to-digital conversion facility 13 shown in FIG. 1.Analog-to-digital conversion may alternatively be performed usingcapabilities associated with switching system 20. Match module (MATCH)76 performs functionality discussed above with reference to FIG. 1 foridentifying unidentified callers 14 by comparing utterance informationfor unidentified callers 14 with stored utterance data 162 for knowncallers. Control module (CONTROL) 74 coordinates communications betweenvarious components of processing system 72 according to the operation ofprocessing system 72 and system 70. Using the capabilities discussedabove, system 70 identifies one or more unidentified callers 14 and, inresponse, provides one or more call routing options to a called party.System 70 may use ambiguity-resolution criteria in the manner discussedabove with reference to FIGS. 4 a and 4 b. The present inventioncontemplates processing system 72 routing calls in a pre-programmedmanner according to the identification of some or all unidentifiedcallers 14.

FIGS. 7 a through 7 d illustrate option screens that processing system72 may present to the called party using output device 54 of computer50, a liquid crystal display (LCD) or light emitting diode (LED) displayassociated with a telephone unit, or in any other suitable manneraccording to the operation of processing system 72 and activities of thecalled party. FIG. 7 a illustrates first option screen 80 that ispresented to the called party in response to processing system 72receiving an incoming call from unidentified caller 14, receiving anutterance from unidentified caller 14, and identifying unidentifiedcaller 14 as a particular known caller, possibly using one or moreambiguity-resolution criteria. First option screen 80 includes textualinformation 82 that may include the date and time, the identity offormerly unidentified caller 14, an instructional or other message, andany other suitable information, in any combination. First option screen80 also includes call routing options 84, which are presented to thecalled party in the form of window buttons, as shown in FIG. 7 a, asnumbered options, or in any other appropriate form. The presentinvention contemplates some or all of the information associated withfirst option screen 80 being presented to the called party audibly inaddition to or instead of visually.

In one embodiment, call routing options 84 include: (1) an accept option86 that the called party selects to accept the call from formerlyunidentified caller 14; (2) a voice messaging option 87 that the calledparty selects to transfer the call or otherwise leave a message to voicemessaging capability 25; (3) an attendant option 88 that the calledparty selects to transfer the call to a secretary or other assistant orto automated attendant capability 26, as the case may be; (4) adisconnect option 89 that the called party selects to disconnect thecall; and (5) any other call routing options 84. Voice messagingcapability 25 may be a message recording facility either collocated withor remote from the called party and the associated computer 50 ortelephone unit. Collectively, voice messaging option 87 and attendantoption 88 may be referred to as transfer option 90. The functionalityassociated with attendant option 88 may be separated among multipletransfer options 90. The called party may select from among call routingoptions 84 using a mouse or other suitable pointer to select anappropriate window button on output device 54, using a keyboard such asinput device 52 of computer 50 to enter an appropriate number orletters, or using any other suitable technique for indicating aselection. Processing system 72 may route calls from one or moreformerly unidentified callers 14 according to pre-programmed routinginformation in response to identifying unidentified callers 14 as knowncallers.

FIG. 7 b illustrates second option screen 92 that is presented to thecalled party in response to the called party selecting accept option 86associated with first option screen 80. Similar to first option screen80, second option screen 92 includes textual information 82 and suitablecall routing options 84, which may include voice messaging option 87,attendant option 88, disconnect option 89, and any other appropriatecall routing options 84. As a result, the called party maintainsreal-time control over the call even after accepting the call, whichprovides an important technical advantage of the present invention. Asdiscussed above, the called party may select from among call routingoptions 84 using a mouse or other suitable pointer to select anappropriate window button on output device 54, using a keyboard such asinput device 52 of computer 50 to enter an appropriate number orletters, or using any other suitable technique.

In one embodiment, second option screen 92 includes textual information82 that instructs the called party to provide a corrected identity ifthe formerly unidentified caller 14 was identified incorrectly, becausethe formerly unidentified caller 14 provided an utterance sufficientlydifferent from one or more previous utterances for formerly unidentifiedcaller 14 or for any other reason. For example, and not by way oflimitation, unidentified caller 14 may have a changed name, a medical orother condition, or a relatively poor transmission facility. After thecalled party types, speaks, or otherwise enters or provides a correctedidentity, assuming one is necessary, the called party may causeprocessing system 72 to store the corrected identity of formerlyunidentified caller 14 with utterance information that processing system72 used to incorrectly identify the formerly unidentified caller 14 indatabase 42, as name 106 and corresponding utterance identifier 164. Thecalled party may use a store window button 94 on output device 54, keyson input device 52, or any other suitable technique to store thecorrected identity and utterance information.

FIG. 7 c illustrates third option screen 96 presented to the calledparty in response to processing system 72 receiving an incoming callfrom unidentified caller 14, receiving an utterance from unidentifiedcaller 14, and being unable to adequately identify unidentified caller14 or to resolve an ambiguous identification of unidentified caller 14using appropriate criteria. Similar to first option screen 80, thirdoption screen 96 includes textual information 82 and suitable callrouting options 84, which may include accept option 86, voice messagingoption 87, attendant option 88, disconnect option 89, and any otherappropriate call routing options 84. In one embodiment, textualinformation 82 may explain to the called party that the called party mayregister the identity of unidentified caller 14 after selecting acceptoption 86 and identifying unidentified caller 14 through personalinteraction, as discussed more fully below.

FIG. 7 d illustrates fourth option screen 98 that is presented to thecalled party in response to the called party selecting accept option 86associated with third option screen 96. Similar to second option screen92, fourth option screen 98 includes textual information 82 andappropriate call routing options 84, which may include voice messagingoption 87, attendant option 88, disconnect option 89, and any otherappropriate call routing options 84. As discussed above, the calledparty maintains real-time control over the call even after accepting thecall, providing an important technical advantage of the presentinvention. In one embodiment, fourth option screen 98 includes textualinformation 82 that instructs the called party to provide the identityof unidentified caller 14 for registering unidentified caller 14 withprocessing system 72. Textual information 82 may also invite the calledparty to select a name from a list 97 of known callers who mightpossibly be unidentified caller 14, based upon the similarity of theutterance information for unidentified caller 14 to stored utteranceidentifiers 164 for the known callers, but for whom no match could bemade to within the predetermined accuracy threshold. As discussed above,one or more ambiguity-resolution criteria may be used to further narrowthe universe of known callers with which unidentified caller 14 may beidentified.

After the called party provides the identity of unidentified caller 14or selects the identity of a known caller from list 97, the called partymay cause processing system 72 to store the identity as a new name 106in table 160 with the utterance information for unidentified caller 14or, if a known caller is selected from list 97, to store the utteranceinformation as an utterance identifier 164 associated with name 106 forthe known caller. The called party may register the formerlyunidentified caller 14 using a store window button 99 on output device54, keys of input device 52, or any other suitable technique. The calledparty may also select a cancel window button 91 or otherwise indicatethat the called party does not wish to register formerly unidentifiedcaller 14 with processing system 72. As the above discussion indicates,the present invention may be self-learning to increase the likelihoodthat processing system 72 will correctly identify the formerlyunidentified caller 14 the next time the formerly unidentified caller 14calls.

FIGS. 8 a and 8 b are a flow chart illustrating an exemplary method ofidentifying an unidentified caller 14. The method begins at step 400,where unidentified caller 14 places a call to the called party, who maybe in a home, business or organizational, or any other suitable setting,using network 12 and link 22. Although system 70 may receive and processcalls from one or more unidentified callers 14 serially, more or lesssimultaneously, or in any other temporal relationship, the method isdiscussed with reference to a single unidentified caller 14. At step402, switching system 20 receives the incoming call and, at step 404,routes the call to voice board 78 of processing system 72. In responseto receiving the incoming call at step 402, system 70 also determinesone or more identifiers at step 405 for use as ambiguity-resolutioninformation in the manner discussed above. Voice board 78 audiblyprompts unidentified caller 14 to provide an utterance at step 406 and,at step 408, unidentified caller 14 provides the requested utterance. Asdiscussed above, the utterance may be any sound, word, or phrase, suchas the name of unidentified caller 14, suitable for being digitized andcompared with previously stored utterance identifiers 164 correspondingto one or more known callers.

If the utterance provided by unidentified caller 14 at step 408 isinaudible, improper, or unsatisfactory at step 410, according to one ormore specified parameters, the method returns to step 406, where voiceboard 78 again prompts unidentified caller 14 to provide an utterance.If the utterance is satisfactory at step 410, voice board 78 digitizesthe utterance at step 412 and processing system 72 records the digitizedutterance for unidentified caller 14 at step 414 using recordingfacility 15. At step 416, match module 76 of processing system 72attempts to match the digitized utterance for unidentified caller 14with an utterance identifier 164 contained in database 42 in the mannerdiscussed more fully above. One or more ambiguity-resolution criteriamay be used. If a match is found for the digitized utterance at step418, processing system 72 presents first option screen 80 and theassociated call routing options 84 to the called party at step 420,using output device 54 of computer 50, an LCD or LED display associatedwith the called party's telephone unit, audibly using a speaker or “headset” associated with computer 50, or in any other appropriate manner.

If the called party accepts the call at step 422, for example, byselecting accept option 86 using a mouse or other pointer, keys on inputdevice 52 of computer 50, or in any other suitable manner, processingsystem 72 connects the called party to formerly unidentified caller 14at step 424. Processing system 72 may connect unidentified caller 14 tothe called party, for example, by coupling the phone line to amicrophone and speakers associated with computer 50 or the calledparty's telephone unit, to a “head set” associated with computer 50 orthe called party's telephone unit, or using any other appropriatetechnique. At step 426, processing system 72 presents the called partywith second option screen 92, which may be presented as an entirely newscreen on output device 54 or as a modified version of first optionscreen 80.

If the called party does not accept the call at step 422, and insteadselects another call routing option 84 for the call, processing system72 transfers or disconnects the call at step 432 according to the callrouting option 84 selected, and the method ends. For example, if voicemessaging option 87 is selected, formerly unidentified caller 14 istransferred to voice messaging capability 25 through a “switch hooktransfer,” telecommunications API (TAPI), TSAPI, or ISDN commands, orany other appropriate mechanism. If voice messaging system 25 isintegral to computer 50, transfer may be unnecessary and processingsystem 72 may invoke voice messaging capability 25 more or lessdirectly. Alternatively, if the called party selects attendant option88, formerly unidentified caller 14 is routed to an assistant, toautomated attendant capability 26, or to any other suitablepredetermined destination. As discussed above, this transfer may beperformed according to a “switch hook transfer” or standard commands.Another alternative for the called party is to select disconnect option89 to disconnect the call. The present invention contemplates other callrouting options 84 as alternatives to accept option 86. Processingsystem 72 may also route calls from some or all unidentified callers 14according to pre-programmed call routing information in response to theidentification of unidentified callers 14.

If formerly unidentified caller 14 has been identified in error at step434, for whatever reason, the called party may provide a correctedidentity at step 436 and store the corrected identity with the utteranceinformation for the formerly unidentified caller 14 at step 438, usingstore window button 94 or any other suitable technique, as name 106 andcorresponding utterance identifier 164 in database 42. Since the calledparty maintains real-time control over the call even after accepting thecall, the called party may select a transfer option 90 or disconnectoption 89 at step 440 according to particular needs, in which case themethod proceeds to step 432. Alternatively, the call may proceed at step442 until terminated in some manner at step 444, for example, when thecall reaches its natural conclusion and the called party hangs up, inwhich case the method ends. Steps 440 through 444 are repeated more orless continually until the called party transfers the call, disconnectsthe call, or the call is terminated in some other manner. If formerlyunidentified caller 14 was not identified in error at step 434, themethod proceeds to step 440 directly. Steps 434 through 444 may occur inany relative sequence according to the operation of processing system 72and the actions of the called party.

If processing system 72 is unable to find a match or resolve anambiguous identification at step 418, processing system 72 presentsthird option screen 96 and associated call routing options 84 to thecalled party using output device 54 or in any other suitable manner atstep 428. If the called party selects a transfer option 90 or disconnectoption 89 rather than selecting accept option 86 at step 430, thenprocessing system 72 transfers or disconnects the call at step 432according to the selected call routing option 84, and the method ends.If the called party selects accept option 86 at step 430, processingsystem 72 presents the called party with fourth option screen 98 at step446. If fourth option screen 98 includes a list 97 of one or more knowncallers for which utterance identifiers 164 possibly match the utteranceinformation for the formerly unidentified caller 14 at step 448, and oneof the known callers is in fact the formerly unidentified caller 14, thecalled party may select the identity of a particular known caller atstep 450. At step 452, the called party may store the utteranceinformation for the formerly unidentified caller 14 with name 106 forthe corresponding known caller in database 42, and the method proceedsto step 440, where the called party may exercise real-time control overthe call by selecting a call routing option 84.

If fourth option screen 98 does not include a list 97 of one or moreknown callers for which stored utterance identifiers 164 possibly matchthe utterance information for formerly unidentified caller 14, or if noknown caller in list 97 is in fact the formerly unidentified caller 14,the called party may register formerly unidentified caller 14 withprocessing system 72 at step 454. The called party may type, speak, orotherwise enter the identity of the formerly unidentified caller 14 atstep 456 and, at step 458, may store the utterance information for theformerly unidentified caller 14 with the identity of the formerlyunidentified caller 14 in database 42 as name 106 and correspondingutterance identifier 164. The method then proceeds to step 440, wherethe called party may exercise real-time control over the call. If thecalled party does not elect to register the formerly unidentified caller14 with processing system 72 at step 454, the method proceeds directlyto step 440.

FIG. 9 illustrates an exemplary system 500 for identifying one or moreunidentified customers 510 at the point of sale. System 500 includes oneor more processing systems 502, each operating on a computer 50 andcoupled to a voice input device 512, to database 42, and possibly to anagent 36. Voice input device 512 may be a telephone coupled to system500 using an appropriate network, a microphone, or other suitable voiceinput device. Agents 36 are discussed more fully above and may beautonomous or operated by one or more employees, representatives,operators, or other individuals associated with the establishment ororganization that may interact in some manner with unidentifiedcustomers 510 before, during, and after the identification process.

Each processing system 502 includes, without limitation: control module74, match module 76, analog-to-digital conversion facility 13, recordingfacility 15, a conventional or other suitable speech recognitionfacility (SR) 23 of the type known to those skilled in the art, speechgeneration capability 24, match parameters 46, communications parameters48, interface 41, and any other components discussed above. Using theseand any other suitable components, system 500 identifies one or moreunidentified customers 510 at the point of sale from among a universe ofknown customers, using one or more ambiguity-resolution criteria ifappropriate, to provide access to goods, services, and any othersuitable benefits. In a particular embodiment, some or all of thecomponents of system 500, such as voice input device 512, processingsystem 502, agent 36, and database 42, may be integral to an automatedteller machine (ATM) that dispenses currency to, receives deposits from,and provides any other suitable banking transactions for patrons of acorresponding banking establishment.

In one embodiment, each processing system 502 within system 500 operateson one or more computers 50 at a particular point of sale to providefunctionality discussed above with reference to FIG. 1. Database 42 maybe replicated in whole or in part at each point of sale or may belocated remotely from processing systems 502 at a centralized location,for example, a centralized point of sale or organizational headquarters.The present invention contemplates multiple processing systems 502 atmultiple points of sale operating on the same distributed computer 50and contemplates database 42 being integral to or separate from one ormore processing systems 502. When database 42 is remote from processingsystem 502, processing system 502 communicates with database 42 usinginterface 41 and any suitable wireline or wireless link 506, asdiscussed above.

For purposes of this discussion, a point of sale may include anycommercial or other establishment or location, or portion thereof, atwhich one or more customers 510 may purchase, rent, otherwise receive,or order a tangible or intangible item, for example, a good, service, orother benefit. For example, the point of sale associated with aparticular processing system 502 may be a video rental point of sale, agrocery store point of sale, a banking point of sale, such as an ATMpoint of sale, a department store point of sale, a gasoline stationpoint of sale, a dry cleaning point of sale, or any other appropriatepoint of sale. Moreover, the point of sale may be a Social SecurityAdministration point of sale, a Department of Health and Human Servicespoint of sale, Federal job training center point of sale, or other pointof sale at which monetary or other governmental benefits are provided.Recipients of such benefits are considered customers for purposes ofthis discussion.

A single establishment or location, such as a large department store,may include multiple points of sale, for example, at each cash registerin the store. The point of sale may also be a telephone or personalcomputer in a home, business, or other suitable setting that includesthe requisite components and from which items or other benefits may bepurchased, rented, ordered, or otherwise requested. For example,unidentified customer 510 may call or dial in from a telephone orpersonal computer point of sale in the home to purchase an item, inwhich case the identification process may be performed at the point ofsale, at the other end of the link associated with the organization fromwhich the item is purchased, or at some other remote location. Thoseskilled in the art will appreciate that system 500 may operate inconnection with other suitable points of sale without departing from theintended scope of the present invention.

Communications from unidentified customers 510 to processing systems502, represented by arrows 504, may be conventional speechcommunications, speech communications transmitted using an appropriatewireless communications technique, or any other suitable verbalcommunications. These communications are received at voice input device512 and converted into electrical signals for use by processing system502 in identifying unidentified customer 510 from among a universe ofknown customers at the point of sale. As discussed above, processingsystem 502 may perform the customer identification local to or remotefrom the point of sale.

FIGS. 10 a and 10 b are a flow chart illustrating an exemplary method ofidentifying one or more unidentified customers 510 at the point of sale.The method begins at step 550, where agent 36 or another suitablecomponent of system 500 may audibly or visually prompt unidentifiedcustomer 510 to provide an utterance at the point of sale. At step 552,unidentified customer 510 provides the requested utterance. As discussedabove, the utterance may be any sound, word, or phrase, such as the nameof unidentified customer 510, suitable for being digitized and comparedwith previously stored utterance identifiers 164 corresponding to one ormore known customers. If the utterance that is provided by unidentifiedcustomer 510 at step 552 is inaudible, improper, or unsatisfactory atstep 554, in accordance with one or more specified parameters, themethod returns to step 550, where system 500 again prompts unidentifiedcustomer 510 to provide an utterance. If the utterance is satisfactoryat step 554, processing system 502 digitizes the utterance at step 556and records the digitized utterance at step 558 in the manner discussedabove.

At step 560, processing system 502 attempts to match the digitizedutterance for unidentified customer 510 with an utterance identifier 164contained in database 42 in the manner discussed more fully above. If amatch is found for the digitized utterance at step 562, processingsystem 502 may measure, assess, calculate, or otherwise determine afigure of merit for the match at step 564. In a particular embodiment,one or more ambiguity-resolution criteria in records 44 may be used atsteps 565 and 566 to resolve an ambiguous identification of unidentifiedcustomer 510 as two or more known customers in the manner discussedabove. Ambiguity-resolution criteria may also be used to verify anunambiguous identification of customer 510 as a particular knowncustomer.

For example, at step 565, system 70 may determine a location, number, orother identifier associated with a point of sale in a commercialestablishment, government office, or other premises at whichunidentified customer 510 seeks a good, service, or other benefit. Atstep 566, system 70 compares the identifier determined at step 565 withan identifier 119 contained in records 44 for one or more knowncustomers with which customer 510 has been identified. Customer 510 isidentified as the particular known customer for which the identifierdetermined at step 565 is consistent with identifier 119, therebyresolving the ambiguity or verifying the unambiguous identification. Thegoods, services, or benefits customer 510 is seeking may be comparedwith historical purchasing information 121 for one or more knowncustomers to resolve an ambiguous identification or verify anunambiguous identification, as the case may be. The present inventioncontemplates using any suitable ambiguity-resolution criteria inconnection with system 70 to perform these functions at the point ofsale or remote from the point of sale.

At step 567, processing system 502 and DBMS 43 cooperate to retrieveinformation from database 42 that corresponds to the known customer withwhich formerly unidentified customer 510 has been identified. Althoughidentity data 104, order data 132, utterance data 162, and other datacontained in database 42 is discussed above in connection with callers,database 42 may contain analogous information for one or more knowncustomers instead of or in addition to information concerning knowncallers.

The retrieved information may include some or all of the identity data104, order data 132, or utterance data 162 for the known customer;banking, purchase, account or other data for the known customer; or anyother suitable information associated with the known customer andcontained in database 42. In one embodiment, this other informationretrieved from database 42 may include some or all of historicalpurchasing information 121 for formerly unidentified customer 510 thatevidences or reflects dates; times; frequencies; amounts; brands;product types; a PIN, password, or other identifier used to authorizeall or particular types of transactions; and any other historicalpurchasing information, in any combination. Although purchasinginformation is discussed, this information may include any informationassociated with the provision or receipt of a tangible or intangiblebenefit, however such benefit is transferred, with or withoutconsideration. The retrieved information is then provided to agent 36 atthe point of sale at step 568 using any suitable “screen popping” orother technique discussed more fully above.

As discussed more fully above, processing system 502 may calculate orotherwise determine a figure of merit at step 564 to indicate the extentof the correlation or the certainty of the match between the digitizedutterance for formerly unidentified customer 510 and the utteranceidentifier 164 for the particular known customer with which formerlyunidentified customer 510 has been identified. In one embodiment, thefigure of merit is communicated to agent 36 along with the retrievedinformation for the particular known customer. If either a figure ofmerit has not been provided at step 570, or has been provided at step570 and is deemed acceptable by agent 36 or processing system 502 atstep 572 in accordance with one or more specified parameters, the methodproceeds directly to step 574, where agent 36 interacts with formerlyunidentified customer 510 in some suitable manner at the point of saleaccording to the needs of the customer and the nature of theestablishment. If a figure of merit has been provided at step 570, butis not deemed acceptable at step 572, agent 36 may interactively verifythe identity of formerly unidentified customer 510 using conventionaltechniques at step 576.

Whether or not a figure of merit is provided at step 570 or deemedacceptable at step 572, processing system 502 or agent 36 may promptformerly unidentified customer 510 at step 584 to provide a PIN,password, or other suitable identifier to authorize one or moretransactions formerly unidentified customer 510 is trying to complete.For example, processing system 502 or agent 36 may require formerlyunidentified customer 510 to enter a PIN, either manually or verbally,to authorize purchases that exceed a predetermined price threshold orinclude particular items. At step 586, processing system 502 or agent 36compares the provided PIN with a PIN previously stored in one or morerecords 44 in database 42 to authorize the purchases. A PIN, password,or other suitable identifier may be required for all transactions orparticular types of transactions according to particular needs.

In one embodiment, if a match is made at step 562, whether or not afigure of merit is calculated or deemed acceptable, processing system502 or agent 36 may also prompt formerly unidentified customer 510 toprovide a security utterance at step 588, such as the current time ordate, that processing system 502 uses to provide further security andprevent fraud. For example, after formerly unidentified customer 510 hasprovided the current date as requested, processing system 502 usesspeech recognition capability 23 to convert the security utterance to aform suitable for comparison at step 590 with time and date informationthat computer 50 maintains and updates more or less continuously duringnormal processing. If the current date that formerly unidentifiedcustomer 510 provided is correct at step 592, it is much less likelythat a person has simply previously recorded an utterance of formerlyunidentified customer 510 and used this recorded utterance in an attemptto fraudulently obtain a good, service, or other benefit using system500. If the security utterance is not acceptable at step 592, agent 36may interact with formerly unidentified customer 510 as appropriate toverify the identification of formerly unidentified customer 510 as theknown customer to reduce or eliminate the potential for fraud.

In addition to verifying the accuracy of the provided securityutterance, processing system 502 may compare the security utterance withstored utterance data 162 for formerly unidentified customer 510 inorder to verify the identification made at step 562 using the techniquesdiscussed above. In one embodiment, a time or date such as described forthe security utterance is the utterance prompted at step 550 andprovided at step 552 for initially identifying unidentified customer 510from among a universe of known customers, which provides additionalsecurity over an utterance, for example, that contains only the name ofunidentified customer 510.

The present invention also provides further security over previoussystems, such as an ATM that requires users to input a magnetic card,because voice characteristics may change during an attempted robbery tothe extent that no match can be made at step 562 and no good, service,or other benefit is provided. Processing system 502 may also use speechrecognition facility 23 to recognize one or more predetermined distress,maintenance, or other utterances that prompt processing system 502 toalert or summon law enforcement authorities, maintenance personnel, orother appropriate persons or devices. Other security measures, includingthe use of ambiguity-resolution criteria to verify an identification,may be used without departing from the intended scope of the presentinvention. After agent 36 interacts with customer 510 in some suitablemanner at step 574, for example, to provide a good, service, or otherbenefit, or to decline to provide a good, service, or other benefit, themethod ends.

If processing system 502 is unable to match or suitably correlate thedigitized utterance for unidentified customer 510 with an utteranceidentifier 164 corresponding to a known customer at step 562, or isunable to resolve an ambiguous identification at steps 565 and 566,agent 36 may interactively verify the identity of unidentified customer510 according to conventional techniques at step 578. In one embodiment,the present invention is self-learning, such that if no match has beenmade at step 562 and unidentified customer 510 is identifiedinteractively at step 578, system 500 may receive and store informationfor unidentified customer 510 for use in identifying one or moresubsequent unidentified customers 510. For example, database 42 may notcontain utterance data 162 to identify a particular unidentifiedcustomer 510 when unidentified customer 510 visits the establishment,for example, because unidentified customer 510 may have had no priorinteraction with the establishment. Furthermore, database 42 may not yetcontain utterance data 162 for any known customers, due to the length oftime system 500 has been operating or for any other reason.

At step 580, processing system 502 may create a record 44 for formerlyunidentified customer 510 containing an utterance identifier 164 andother utterance data 162 generated using the utterance provided at step552. At step 582, the created record 44 for formerly unidentifiedcustomer 510 may be stored in one or more tables 160 within database 42to register formerly unidentified customer 510 with system 500. Thecreated record 44 for the formerly unidentified customer 510 may beassociated with identity data 104, order data 132, or utterance data162; banking, purchase, or account data; or any other appropriateinformation concerning formerly unidentified customer 510, such aspurchasing information, whether the information is generated before,during, or after record 44 is created. In one embodiment, the createdrecord 44 will correspond to a known customer for purposes ofidentifying subsequent unidentified customers 510 from among a universeof known customers at the point of sale. Before, during, or afterstoring the created record 44 at step 582, agent 36 interacts withformerly unidentified customer 510 in some suitable manner at step 574,for example, to provide a good, service, or other benefit, or to declineto provide a good, service, or other benefit if appropriate, and themethod ends.

Although callers are discussed with reference to FIGS. 1 through 8 b andcustomers are discussed with reference to FIGS. 9 and 10, callers andcustomers may be collectively referred to as persons. References topersons are intended to include all such callers and customers. Thepresent invention contemplates the use of one or more suitableambiguity-resolution criteria for resolving an ambiguous identificationof an unidentified person as two or more known persons, or for verifyingan unambiguous identification of an unidentified person as a particularknown person, in any of the ways discussed above.

Although the present invention has been described with severalembodiments, a plethora of changes, substitutions, variations,alterations, transformations, and modifications may be suggested to oneskilled in the art, and it is intended that the present inventionencompass such changes, substitutions, variations, alterations,transformations, and modifications as fall within the spirit and scopeof the appended claims.

1. A self-learning caller authentication system for building a databaseof known persons with access to one or more secured resourcescomprising: storage for voiceprint identification data; storage forverification data; and a processing system configured to receive spokenidentification information spoken in a current call initiated by thecurrently unidentified caller, receive verification information from thecurrent call that is independent of the spoken identificationinformation, generate a voiceprint associated with the currentlyunidentified caller from the spoken identification information,automatically compare the voiceprint associated with the currentlyunidentified caller with the voiceprint identification data stored inthe voiceprint identification data storage to search for a voiceprintmatch with at least one of a plurality of known persons, one or morevoiceprint matches, if found, signifying positive identification of thecurrently unidentified caller as at least one of the plurality of knownpersons, and a single voiceprint match, if found, signifying positiveidentification of the currently unidentified caller as a particular oneof the plurality of known persons, with one or more voiceprint matchesfound identifying the currently unidentified caller as a now identifiedcaller, if one or more voiceprint matches are found by automaticallycomparing the voiceprint with the voiceprint identification data,automatically compare the verification information with the verificationdata stored in the verification data storage for the at least one of theplurality of known persons to search for a verification data match witha particular one of the plurality of known persons, a singleverification data match, if found, signifying positive verification ofthe now identified caller and verifying the now identified caller as anow identified and verified caller, if the currently unidentified calleris determined to be a now identified and verified caller byautomatically comparing the verification information, authenticate thenow identified and verified caller for access to the one or more securedresources, and if the currently unidentified caller is not determined tobe a now identified and verified caller by automatically comparing theverification information, allow interaction with the currentlyunidentified caller to separately verify the identity of the currentlyunidentified caller, and if the currently unidentified caller isverified as a now identified and verified caller, automatically add thevoiceprint and the verification information associated with the nowidentified and verified caller to the voiceprint identification datastorage and the verification data storage, respectively, andauthenticate the now identified and verified caller for access to theone or more secured resources.
 2. The self-learning callerauthentication system of claim 1, wherein the processing system includesan agent that allows the interaction with the currently unidentifiedcaller to separately verify the identity of the currently unidentifiedcaller.
 3. The self-learning caller authentication system of claim 2,wherein the agent is autonomous.
 4. The self-learning callerauthentication system of claim 3, wherein the agent is a logical entityin hardware.
 5. The self-learning caller authentication system of claim3, wherein the agent is a logical entity in software.
 6. Theself-learning caller authentication system of claim 3, wherein the agentpresents a called person with a screen on which the called person isprovided with a list of those of the plurality of known persons who weredetermined as now identified callers but not determined as nowidentified and verified callers, the screen prompting the called personto select a person from the list, if any, as a now identified andverified caller.
 7. The self-learning caller authentication system ofclaim 3, wherein the agent presents a called person with a screen onwhich the called person is prompted to type the identity of thecurrently unidentified caller to signify the currently unidentifiedcaller as a now identified and verified caller.
 8. The self-learningcaller authentication system of claim 3, wherein the agent presents acalled person is presented with a screen on which the called person canforego the opportunity to indicate the currently unidentified caller asa now identified and verified caller.
 9. The self-learning callerauthentication system of claim 1, wherein the processing system that isconfigured to automatically add the voiceprint and the verificationinformation associated with the now identified and verified caller tothe voiceprint identification data storage and the verification datastorage is configured to create a new record for the now identified andverified caller.
 10. The self-learning caller authentication system ofclaim 1, wherein the processing system that is configured toautomatically add the voiceprint and the verification informationassociated with the now identified and verified caller to the voiceprintidentification data storage and the verification data storage isconfigured to add an existing record for the now identified and verifiedcaller.
 11. The self-learning caller authentication system of claim 1,wherein if no voiceprint matches are found after automatically comparingthe voiceprint associated with the currently unidentified caller withvoiceprint identification data stored in the voiceprint identificationdata storage, the processing system is configured to prompt thecurrently unidentified caller to provide further spoken identificationinformation from which another voiceprint is generated and compared withthe voiceprint identification data stored in the voiceprintidentification data storage.
 12. A method for authenticating a callerand automatically building a database of known persons with access toone or more secured resources comprising: receiving spokenidentification information spoken in a current call initiated by acurrently unidentified caller; receiving verification information fromthe current call that is independent of the spoken identificationinformation; generating a voiceprint associated with the currentlyunidentified caller from the spoken identification information;receiving stored voiceprint identification data that was stored duringsystem enrollment of a plurality of known persons; automaticallycomparing the voiceprint associated with the currently unidentifiedcaller with the stored voiceprint identification data to search for avoiceprint match with at least one of the plurality of known persons,one or more voiceprint matches, if found, signifying positiveidentification of the currently unidentified caller as at least one ofthe plurality of known persons, and a single voiceprint match, if found,signifying positive identification of the currently unidentified calleras a particular one of the plurality of known persons, with one or morevoiceprint matches found identifying the currently unidentified calleras a now identified caller; receiving stored verification data that wasstored during the system enrollment of the plurality of known persons;if one or more voiceprint matches are found by automatically comparingthe voiceprint with the stored voiceprint identification data,automatically comparing the verification information with the storedverification data for the at least one of the plurality of known personsto search for a verification data match with a particular one of theplurality of known persons, a single verification data match, if found,signifying positive verification of the now identified caller andverifying the now identified caller as a now identified and verifiedcaller; if the currently unidentified caller is determined to be a nowidentified and verified caller by automatically comparing theverification information, authenticating the now identified and verifiedcaller for access to the one or more secured resources; and if thecurrently unidentified caller is not determined to be a now identifiedand verified caller by automatically comparing the verificationinformation, interacting with the currently unidentified caller toidentify and verify the currently unidentified caller as a nowidentified and verified caller, and if the currently unidentified calleris identified and verified as a now identified and verified caller byinteracting, automatically adding the voiceprint and the verificationinformation associated with the now identified and verified caller tothe stored voiceprint identification data and the stored verificationdata, respectively, and authenticating the now identified and verifiedcaller for access to the one or more secured resources.
 13. The methodof claim 12, wherein the interacting with the currently unidentifiedcaller comprises interacting by an agent.
 14. The method of claim 13,wherein the interacting by the agent is autonomous interacting.
 15. Themethod of claim 14, wherein the autonomous interacting by the agent isinteracting as a logical entity in hardware.
 16. The method of claim 14,wherein the autonomous interacting by the agent is interacting as alogical entity in software.
 17. The method of claim 14, wherein theautonomous interacting comprises: presenting a called person with ascreen on which the called person is provided with a list of those ofthe plurality of known persons who were determined as now identifiedcallers but not determined as now identified and verified callers; andprompting the called person to select a person from the list, if any, asa now identified and verified caller.
 18. The method of claim 14,wherein the autonomous interacting comprises: presenting a called personwith a screen on which the called person is prompted to type theidentity of the currently unidentified caller to signify the currentlyunidentified caller as a now identified and verified caller.
 19. Themethod of claim 14, wherein the autonomous interacting comprises:presenting a called person with a screen on which the called person canforego an opportunity to indicate the currently unidentified caller as anow identified and verified caller.
 20. The method of claim 13, whereinthe interacting by the agent is interacting by a person.
 21. The methodof claim 12, wherein the automatically adding the voiceprint and theverification information associated with the now identified and verifiedcaller to the stored voiceprint identification data and the storedverification data comprises: creating a new record for the nowidentified and verified caller.
 22. The method of claim 12, wherein theautomatically adding the voiceprint and the verification informationassociated with the now identified and verified caller to the storedvoiceprint identification data and the stored verification datacomprises: adding to an existing record for the now identified andverified caller.
 23. The method of claim 12, wherein if no voiceprintmatches are found after automatically comparing the voiceprintassociated with the currently unidentified caller with the storedvoiceprint identification data, prompting the currently unidentifiedcaller to provide further spoken identification information from whichanother voiceprint can be generated and compared with the storedvoiceprint identification data.
 24. Software for authenticating a callerand automatically building a database of known persons with access toone or more secured resources, the software being embodied in tangiblecomputer-readable media and operable to: receive spoken identificationinformation spoken in a current call initiated by a currentlyunidentified caller; receive verification information from the currentcall that is independent of the spoken identification information;generate a voiceprint associated with the currently unidentified callerfrom the spoken identification information; receive stored voiceprintidentification data that was stored during system enrollment of aplurality of known persons; automatically compare the voiceprintassociated with the currently unidentified caller with the storedvoiceprint identification data to search for a voiceprint match with atleast one of the plurality of known persons, one or more voiceprintmatches, if found, signifying positive identification of the currentlyunidentified caller as at least one of the plurality of known persons,and a single voiceprint match, if found, signifying positiveidentification of the currently unidentified caller as a particular oneof the plurality of known persons, with one or more voiceprint matchesfound identifying the currently unidentified caller as a now identifiedcaller; receive stored verification data that was stored during thesystem enrollment of the plurality of known persons; if one or morevoiceprint matches are found by automatically comparing the voiceprintwith the stored voiceprint identification data, automatically comparethe verification information with the stored verification data for theat least one of the plurality of known persons to search for averification data match with a particular one of the plurality of knownpersons, a single verification data match, if found, signifying positiveverification of the now identified caller and verifying the nowidentified caller as a now identified and verified caller; if thecurrently unidentified caller is determined to be a now identified andverified caller by automatically comparing the verification information,authenticate the now identified and verified caller for access to theone or more secured resources; and if the currently unidentified calleris not determined to be a now identified and verified caller byautomatically comparing the verification information, interact with thecurrently unidentified caller to identify and verify the currentlyunidentified caller as a now identified and verified caller, and if thecurrently unidentified caller is identified and verified as a nowidentified and verified caller by the interaction, automatically add thevoiceprint and the verification information associated with the nowidentified and verified caller to the stored voiceprint identificationdata and the stored verification data, respectively, and authenticatethe now identified and verified caller for access to the one or moresecured resources.